<?php
  include_once 'includes/common.php';
  $cart = isset($_SESSION['shoppingCart']) ? unserialize($_SESSION['shoppingCart']) : null;
  $cart = empty($cart) ? new Cart() : $cart;

//Add to cart
  if (isset($_GET["action"]) && $_GET["action"]==="add" && isset($_POST["id"]) && isset($_POST["qty"])  ){
    $result = $cart->addItem($_POST["id"], $_POST["qty"]);
    $_SESSION['shoppingCart']=serialize($cart);
  }

//Empty cart
  if (isset($_GET["action"]) && $_GET["action"]==="empty" ){
    $cart->emptyCart();
    $_SESSION['shoppingCart']=serialize($cart);
  }

  //Remove Item
  if (isset($_GET["action"]) && $_GET["action"]==="remove" && isset($_GET["id"])){
    $result = $cart->removeItem($_GET["id"]);
    $_SESSION['shoppingCart']=serialize($cart);
  }

  //Update Cart Item
  if (isset($_GET["action"]) && $_GET["action"]==="update" && isset($_GET["id"])){
    $qtyVal = $_POST["qty_".$_GET["id"]];
    if ((int)$qtyVal===0){
      $result = $cart->removeItem($_GET["id"]);
    } else {
      $result = $cart->updateItem($_GET["id"], $_POST["qty_".$_GET["id"]]);
    }
    $_SESSION['shoppingCart']=serialize($cart);
  }
  $categoryCounts = Category::getItemCategoryCounts();
?>

<!doctype html>
<!-- paulirish.com/2008/conditional-stylesheets-vs-css-hacks-answer-neither/ -->
<!--[if lt IE 7]> <html class="no-js ie6 oldie" lang="en"> <![endif]-->
<!--[if IE 7]>    <html class="no-js ie7 oldie" lang="en"> <![endif]-->
<!--[if IE 8]>    <html class="no-js ie8 oldie" lang="en"> <![endif]-->
<!-- Consider adding an manifest.appcache: h5bp.com/d/Offline -->
<!--[if gt IE 8]><!--> <html class="no-js" lang="en"> <!--<![endif]-->
<head>
  <meta charset="utf-8">

  <!-- Use the .htaccess and remove these lines to avoid edge case issues.
       More info: h5bp.com/b/378 -->
  <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">

  <title>Shopping Cart - Your shopping cart</title>
  <meta name="description" content="TWS Javascript Framework">
  <meta name="author" content="Lee Assam">

  <!-- Mobile viewport optimized: j.mp/bplateviewport -->
  <meta name="viewport" content="width=device-width,initial-scale=1">

  <meta name="robots" CONTENT="noindex,nofollow">

  <!-- Place favicon.ico and apple-touch-icon.png in the root directory: mathiasbynens.be/notes/touch-icons -->

  <!-- CSS: implied media=all -->
  <!-- CSS concatenated and minified via ant build script-->
  <link rel="stylesheet" href="css/style.css">
  <!-- end CSS-->

  <!-- More ideas for your <head> here: h5bp.com/d/head-Tips -->

  <!-- All JavaScript at the bottom, except for Modernizr / Respond.
       Modernizr enables HTML5 elements & feature detects; Respond is a polyfill for min/max-width CSS3 Media Queries
       For optimal performance, use a custom Modernizr build: www.modernizr.com/download/ -->
  <script src="js/libs/modernizr-2.0.6.min.js"></script>
</head>

<body>

  <div id="container">
    <header>
      <?php include "includes/header.php"; ?>
    </header>

    <div id="main" role="main">

    <div id="breadcrumbs">
      <a href="index.php">Home</a><span>Shopping cart</span>
    </div>

     <?php
     if(!empty($cart) && sizeof($cart->getCartItems())>0) {
       $cartItems = $cart->getCartItems();

       ?>

      <table class="productTable">
        <thead>
          <tr>
            <th>Image</th>
            <th>Decription</th>
            <th>Details</th>
            <th>Unit Price</th>
            <th>Qty</th>
            <th>Subtotal</th>
            <th>&nbsp;</th>
          </tr>
        </thead>
        <tbody>
     <?php
       foreach ($cartItems as $cartItem) {
       $product= $cartItem->getProduct();
     ?>
          
          <tr>
            <form method="post" action="cart.php?action=update&id=<?=$product->getProductId()?>">
            <td><a href="product.php?id=<?=$product->getProductId()?>"><img class="cartThumb" src="<?=IMG_PATH.$product->getThumbImageUrl()?>" alt="<?=$product->getImageCaption()?>" title="<?=htmlspecialchars($product->getImageCaption(),ENT_QUOTES)?>" /></a></td>
            <td><?=htmlspecialchars($product->getDescription(),ENT_QUOTES)?></td>
            <td><?=$product->getDetails()?></td>
            <td>$<?=$product->getPrice()?></td>
            <td><input type="text" id="qty_<?=$product->getProductId()?>" name="qty_<?=$product->getProductId()?>" value="<?=$cartItem->getQuantity()?>" size="2" /></td>
            <td>$<?=$cartItem->getTotal()?></td>
            <td width="20%"><button class="cart">Update</button> &nbsp; <a href="cart.php?action=remove&id=<?=$product->getProductId()?>">Remove</a></td>
            </form>
         </tr>
      <?php
       } ?>

          <tr><td colspan="3">&nbsp;</td><td colspan="2">Grand Total</td><td class="important">$<?=$cart->getCartTotal()?></td></tr>
      </tbody>
      </table>

      <div class="cartOptions"><a href="cart.php?action=empty">Empty my shopping cart</a></div>
      
      <div class="cartOptions"><a href="cart.php">Proceed to Checkout</a></div>

  <?php
     } else {
       echo "Your shopping cart is currently empty";
     }
     ?>

    <div class="cartOptions"><a href="index.php">Continue Shopping</a></div>
     
    </div>

    <!--Side Section -->
    <aside id="sideContent" class="sideContent">
      <?php include "includes/sideContent.php"; ?>
    </aside>

    <footer id="footer">
      <?php include "includes/footer.php"; ?>
    </footer>
  </div> <!--! end of #container -->


  <!-- JavaScript at the bottom for fast page loading -->

  <!-- Grab Google CDN's jQuery, with a protocol relative URL; fall back to local if offline -->
  <script src="//ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>
  <script>window.jQuery || document.write('<script src="js/libs/jquery-1.6.2.min.js"><\/script>')</script>


  <!-- scripts concatenated and minified via ant build script-->
  <script defer src="js/plugins.js"></script>
  <script defer src="js/script.js"></script>
  <!-- end scripts-->

	
  <!-- Change UA-XXXXX-X to be your site's ID
  <script>
    window._gaq = [['_setAccount','UAXXXXXXXX1'],['_trackPageview'],['_trackPageLoadTime']];
    Modernizr.load({
      load: ('https:' == location.protocol ? '//ssl' : '//www') + '.google-analytics.com/ga.js'
    });
  </script>
 -->

  <!-- Prompt IE 6 users to install Chrome Frame. Remove this if you want to support IE 6.
       chromium.org/developers/how-tos/chrome-frame-getting-started -->
  <!--[if lt IE 7 ]>
    <script src="//ajax.googleapis.com/ajax/libs/chrome-frame/1.0.3/CFInstall.min.js"></script>
    <script>window.attachEvent('onload',function(){CFInstall.check({mode:'overlay'})})</script>
  <![endif]-->
  
</body>
</html>
